package com.bbs.service;

import com.bbs.entity.BBSUser;

import javax.servlet.http.HttpSession;

/**
 * @PackageName: com.bbs.service
 * @ClassName: BBSUserService
 * @Description:
 * @Author: Rambo
 * @Data: 2024/6/2 23:17
 */
public interface IBBSUserService {
    /**
     * 注册方法
     * @param loginName 用户输入的登录名，用于匹配数据库或用户信息存储中的用户名
     * @param password 用户输入的密码，MD5加密后用于匹配数据库或用户信息存储中的密码
     * @param nickName 用户输入的昵称，用于在论坛中显示用户的真实姓名或昵称
     * @return
     */
    String register(String loginName, String password, String verifyCode, String nickName, HttpSession httpSession);

    /**
     * 登录方法
     * @param loginName 用户输入的登录名，用于匹配数据库或用户信息存储中的用户名
     * @param password 用户输入的密码，MD5加密后用于匹配数据库或用户信息存储中的密码
     * @param httpSession HttpSession对象，用于登录成功后存储用户的会话信息
     * @return
     */
    String login(String loginName, String password, String verifyCode, HttpSession httpSession);

    /**
     * 修改个人信息方法
     * @param user
     * @param httpSession
     * @return
     */
    Boolean updateUserInfo(BBSUser user, HttpSession httpSession);
    /**
     * 修改头像方法
     * @param user
     * @param httpSession
     * @return
     */
    Boolean updateUserHeadImg(BBSUser user, HttpSession httpSession);

    /**
     * 修改密码
     */
    Boolean updateUserPassword(Long userId, String newPassword, HttpSession httpSession);


    /**
     * 根据用户ID获取用户信息
     * @param userId 用户Id
     * @return
     */
    BBSUser getUserById(Long userId);
}
